package handler

import (
	"album-api/internal/svc"
)

func RegisterHandlers(r *Routers, serverCtx *svc.ServiceContext) {
	album := NewLoginHandler(serverCtx)
	track := NewTrackHandler(serverCtx)
	//rest.WithJwt(serverCtx.Config.JWT.AccessSecret)
	albumGroup := r.Group()
	albumGroup.Get("/api/album/category/getBaseCategoryList", album.GetAllCategoryList)
	// http://192.168.2.8/api/album/category/findAttribute/undefined
	// 排行榜
	albumGroup.Get("/api/album/search/albumInfo/findRankingList/:category1Id/:dimension", album.FindRankingList)
	// 分页查询音频
	albumGroup.Get("/api/album/trackInfo/findAlbumTrackPage/:albumId/:pageNo/:pageSize", album.FindAlbumTrackPage)
	albumGroup.Get("/api/album/category/findAttribute/:category1Id", album.FindAttribute)
	//查找专辑详情
	albumGroup.Get("/api/album/album/search/albumInfo/:albumId", album.FindAlbumInfo)
	// 搜索
	albumGroup.Post("/api/album/albumInfo", album.AlbumInfo)
	// 关键字补全
	albumGroup.Get("/api/album/albumInfo/completeSuggest/:keyword", album.KeyWord)
	// 根据一级分类id查找三级分类
	albumGroup.Get("/api/album/category/findTopBaseCategory3/:category1Id", album.GetCategory3ListByCategory1Id)
	albumGroup.Get("/api/album/albumInfo/channel/:category1Id", album.Channel)
	albumGroup.Get("/api/album/category/getBaseCategoryList/:category1Id", album.GetBaseCategoryList3)
	albumGroup.Get("/api/album/search/albumInfo/:albumId", album.GetAlbumInfoById)
	albumGroup.Get("/api/album/albumInfo/getAlbumInfo/:albumId", album.GetAlbumInfoById)
	albumGroup.Post("/api/album/fileUpload", album.FileUpload)
	albumGroup.Post("/api/album/albumInfo/saveAlbumInfo", album.SaveAlbumInfo)
	albumGroup.Post("/api/album/albumInfo/findUserAlbumPage/:pageNum/:pageSize", album.FindUserAlbumPage)
	albumGroup.Get("/api/album/albumInfo/findUserAllAlbumList", album.FindUserAllAlbumList)
	//删除
	albumGroup.Delete("/api/album/albumInfo/removeAlbumInfo/:albumId", album.RemoveAlbumInfo)
	// 上传声音
	albumGroup.Post("/api/album/trackInfo/uploadTrack", track.uploadTrack)
	//保存声音
	albumGroup.Post("/api/album/trackInfo/saveTrackInfo", track.SaveTrackInfo)
	// 声音列表
	albumGroup.Post("/api/album/trackInfo/findUserTrackPage/:pageNum/:pageSize", track.FindUserTrackPage)
	// 声音详情
	albumGroup.Get("/api/album/trackInfo/getTrackInfo/:trackId", track.GetTrackInfoById)
	// 删除声音
	albumGroup.Delete("/api/album/trackInfo/removeTrackInfo/:trackId", track.RemoveTrackInfo)
	// 更新播放进度
	albumGroup.Post("/api/album/userListenProcess/updateListenProcess/", album.UpdateListenProcess)
	//获取最近播放进度
	albumGroup.Get("/api/album/userListenProcess/getLatelyTrack", album.GetLatelyTack)
	// 获取声音统计信息
	albumGroup.Get("/api/album/trackInfo/getTrackStatVo/:trackId", album.GetTrackStatVo)
	albumGroup.Get("/api/album/trackInfo/findUserTrackPaidList/:trackId", album.findUserTrackPaidList)
	albumGroup.Post("/api/album/orderInfo/trade", album.OrderInfo)
	// 提交订单
	albumGroup.Post("/api/album/order/orderInfo/submitOrder", album.SubmitOrder)
}

//localhost/api/album/category/getAllCategoryList
//http://192.168.2.3/api/album/category/getBaseCategoryList
